using FastDevTemplate.DataAccess.Entities;
using FastDevTemplate.Service.Interface.Base;
using FastDevTemplate.Service.Interface.DTO;

namespace FastDevTemplate.Service.Interface;

public interface IRoleService : IBaseCurdService
<Role,
    string,
    RoleResultDto,
    RoleGetResultDto,
    RoleAddDto,
    RoleModifyDto>
{
    public Task<int> AddPermissionListAsync(string id, params string[] permissionIDs);

    public Task<int> RemovePermissionListAsync(string id, params string[] permissionIDs);
    
    public Task<int> SetPermissionListAsync(string id, params string[] permissionIDs);

    // public Task<int> AddUserListAsync(string id, params Guid[] userIds);
    //
    // public Task<int> RemoveUserListAsync(string id, params Guid[] userIds);
}